import App from './App'

// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
App.mpType = 'app'
Vue.prototype.$msg = function(tit = '', data = 'none') {
  uni.showToast({
    icon: data,
    title: tit
  })
}
import {
  baseUrl
} from '@/utils/baseUrl.js'
import api from '@/api/index.js'
Vue.prototype.$api = api;
Vue.prototype.$baseUrl = baseUrl
// main.js
// import uView from "uview-ui";
// Vue.use(uView);
// main.js
import uView from "uview-ui";
Vue.use(uView)
import store from '@/store/index.js'
Vue.prototype.$store = store;
// try {
//   function isPromise(obj) {
//     return (
//       !!obj &&
//       (typeof obj === "object" || typeof obj === "function") &&
//       typeof obj.then === "function"
//     );
//   }

//   // 统一 vue2 API Promise 化返回格式与 vue3 保持一致
//   uni.addInterceptor({
//     returnValue(res) {
//       if (!isPromise(res)) {
//         return res;
//       }
//       return new Promise((resolve, reject) => {
//         res.then((res) => {
//           if (res[0]) {
//             reject(res[0]);
//           } else {
//             resolve(res[1]);
//           }
//         });
//       });
//     },
//   });
// } catch (error) {}

const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import {
  createSSRApp
} from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif
